-
Notifications
You must be signed in to change notification settings - Fork 37
Laravel 12.x Compatibility #153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Laravel 12.x Compatibility #153
Conversation
|
|
|
|
|
⚗️ Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch. To do so, temporarily add Shift's fork to the {
"repositories": [
{
"type": "vcs",
"url": "https://github.com/laravel-shift/laravel-heyman.git"
}
]
}Then update your dependency constraint to reference this branch: {
"require": {
"imanghafoori/laravel-heyman": "dev-l12-compatibility",
}
}Finally, run: |
WalkthroughThe pull request updates two GitHub Actions workflows and the composer dependency configuration. The code coverage workflow now uses an explicit multi-line branch filter and an expanded PHP version matrix (8.2, 8.3, and 8.4) with a reorganized structure. The tests workflow adds Laravel version "12.*" to its matrix along with new exclusion rules for incompatible PHP versions. The composer.json file’s Laravel framework version constraint has been updated to include Laravel 12.0 and beyond. Changes
Sequence Diagram(s)sequenceDiagram
participant Repo as Repository
participant Checkout as Code Checkout
participant Setup as PHP Setup
participant Install as Install Dependencies
participant Test as Run PHPUnit Tests
participant Coveralls as Upload Coverage
Repo->>Checkout: Trigger on push/pull_request
Checkout->>Setup: Setup PHP (uses PHP 8.2, 8.3, 8.4)
Setup->>Install: Install dependencies
Install->>Test: Run PHPUnit tests
Test->>Coveralls: Upload coverage data
sequenceDiagram
participant Repo as Repository
participant Checkout as Code Checkout
participant Setup as PHP Setup
participant Install as Composer Install
participant Test as Execute Tests
Repo->>Checkout: Trigger on push/pull_request (matrix includes Laravel 12.*)
Checkout->>Setup: Setup PHP (filters out incompatible versions for Laravel 12.*)
Setup->>Install: Install dependencies
Install->>Test: Run tests across Laravel versions [6.*,7.*,8.*,9.*,10.*,11.*,12.*]
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
.github/workflows/code_coverage.yml (2)
3-11: Explicit Branch Filters and Workflow TriggersThe branch filters under both push and pull_request events are now clearly specified using a multi-line format. Ensure that "master" is indeed the intended branch name; if your repository has adopted "main" or another naming convention, please update these values accordingly.
18-21: Duplicate PHP Version in MatrixThe matrix definition for PHP versions contains a duplicate entry for "8.3", which may lead to redundant test runs. It's recommended to remove the duplicate to streamline the matrix.
Proposed diff:
- php: ['8.2', 8.3, '8.3', '8.4'] + php: ['8.2', '8.3', '8.4']🧰 Tools
🪛 actionlint (1.7.4)
20-20: duplicate value "8.3" is found in matrix "php". the same value is at line:20,col:22
(matrix)
composer.json (1)
24-27: Laravel Framework Dependency UpdateThe Laravel framework version constraint has been updated to include Laravel 12 (i.e., the addition of
^12.0), which extends compatibility as intended. Note that the dependency still targets the entirelaravel/framework. If your package does not rely on all of Laravel’s components, consider specifying only the required Illuminate packages to reduce bloat.Would you like assistance in exploring a more granular dependency configuration?
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/code_coverage.yml(1 hunks).github/workflows/tests.yml(2 hunks)composer.json(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/code_coverage.yml
20-20: duplicate value "8.3" is found in matrix "php". the same value is at line:20,col:22
(matrix)
🪛 GitHub Actions: Code Coverage
composer.json
[error] 1-1: Your requirements could not be resolved to an installable set of packages due to PHP version incompatibility.
🪛 GitHub Actions: tests
composer.json
[warning] 1-1: Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
🔇 Additional comments (4)
.github/workflows/code_coverage.yml (1)
24-53: Well-Structured Workflow StepsThe steps for checking out the code, setting up PHP (with necessary extensions and coverage enabled), installing dependencies, running PHPUnit, and uploading coverage results are clearly and cleanly organized. This increases maintainability and readability.
.github/workflows/tests.yml (3)
21-21: Extended Laravel Version MatrixThe inclusion of '12.*' in the Laravel version matrix is a proper update to ensure Laravel 12.x is tested alongside previous versions. This change supports broader compatibility testing.
61-70: New Exclusion Rules for Laravel 12Exclusion rules for Laravel 12 have been added to prevent test runs on incompatible PHP versions (7.2, 7.3, 7.4, 8.0, and 8.1). This is in line with Laravel 12’s PHP requirements and should prevent false negatives during testing.
85-89: Dependency Installation with Version EnforcementThe step that installs dependencies first requires the specific Laravel version (using
composer require "laravel/framework=${{ matrix.laravel }}" --no-update) before runningcomposer update. This directive is a robust approach to ensure the correct Laravel version is used during testing. Please verify that this process works seamlessly in your CI environment.
This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 12.x.
Before merging, you need to:
l12-compatibilitybranchIf you do find an issue, please report it by commenting on this PR to help improve future automation.
Summary by CodeRabbit
Tests
Chores